package com.ywk.base.dataStructure.stack;

import java.util.Stack;
//栈：先进后出
public class StackDemo {
	
    
	public static void main(String[] args) {
		
//		Stack<String> s=new Stack<>();
//		//入栈
//		s.add("123");
//		s.add("132");
//		s.add("231");
//		s.add("213");
//		//出栈
//		while(s.size()>0) {
//			System.out.println(s.pop());//pop方法：将栈顶的数据取出
//		}
		StringBuffer sb=new StringBuffer();
		String s="(()())(())";
		sb.append(s);
		sb.deleteCharAt(1);
		System.out.println(sb.toString());
	}
	
	public String removeOuterParentheses(String S) {
        Stack<Character> stack = new Stack<>();
        StringBuilder sb=new StringBuilder();
        sb.append(S);
        for(int i=0;i<sb.length();i++){
            if(stack.empty()){
                stack.push(sb.charAt(i));
                sb.delete(i,i);
            }else{
                if(stack.peek()=='('&&sb.charAt(i)==')'&&stack.size()==1){
                    stack.pop();
                    sb.delete(i,i);
                }else if(stack.peek()=='('&&sb.charAt(i)==')'){
                    stack.pop();
                }else{
                    stack.push(sb.charAt(i));
                }
            }
        }
        return sb.toString();
    }
}
